package services.common;

import java.util.List;
import java.util.Map;

import models.common.entity.t_scroe_rule;
import services.base.BaseService;

import com.shove.Convert;
import common.utils.Factory;
import common.utils.PageBean;
import common.utils.ResultInfo;

import daos.common.ScroeRuleDao;

/**
 * 积分控制service
 *@author binghui.zhou
 *@version 2017年8月24日 上午10:15:56
 */
public class ScroeRuleService extends BaseService<t_scroe_rule> {
	
	private ScroeRuleDao scroeRuleDao;	
	 
	public ScroeRuleService(){
		scroeRuleDao = Factory.getDao(ScroeRuleDao.class);
		super.basedao = scroeRuleDao;
	}
	
	/**
	 * 积分规则查看
	 * @return
	 * @author binghui.zhou
	 * @createDate 2017年8月24日
	 */
	public List<t_scroe_rule> queryScroeRunle() {
		return scroeRuleDao.findAll();
	}
	
	/**
	 * 编辑积分规则
	 * @param mapScro
	 * @param map
	 * @return
	 * @author binghui.zhou
	 * @createDate 2017年8月24日
	 */
	public ResultInfo saveScroeRule(Map<String, Object> mapScro, Map<String, Object> map) {
		ResultInfo result = new ResultInfo();
		for (String key:mapScro.keySet()){
			t_scroe_rule scroe = scroeRuleDao.findByColumn(" key=? ", key);
			if (scroe == null){
				result.code = -1;
				result.msg = "没有找到对应的积分规则!";
				return result;
			}
			int amount = Convert.strToInt(map.get(key)+"", 0);
			int scroe1 = Convert.strToInt(map.get(key+"_1")+"", 0);
			int type = scroeRuleDao.updateScroeRule(scroe.id,amount,scroe1);
			if (type < 1){
				result.code = -1;
				result.msg = "更新失败!";
				return result;
			}
		}
		result.code = 1;
		result.msg = "更新成功!";
		return result;
	}
	
	/**
	 * 查看积分记录
	 * @param currPage
	 * @param pageSize
	 * @return
	 * @author binghui.zhou
	 * @param userName 
	 * @createDate 2017年8月25日
	 */
	public PageBean<Map<String, Object>> queryScroeTakeNotes(int currPage, int pageSize, String userName,long userId) {
		
		return scroeRuleDao.queryScroeTakeNotes( currPage,  pageSize,userName,userId);
	}
	
	/**
	 * 根据key值查找对应的积分规则
	 * @param scroeWithdraw
	 * @return
	 * @author binghui.zhou
	 * @createDate 2017年8月26日
	 */
	public t_scroe_rule findScroeRule(String key) {
		return findByColumn(" key=? ", key);
	}
	
	
}
